package br.ufrn.sipac.patrimonio.coletor.dominio;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName = "bem")
public class Bem implements Persistencia {

	  public Bem() {

	    }

	    public Bem(int numTombo) {

	        this.numTombamento = numTombo;
	    }
	    /**
	     * Vari�vel que representa o id do bem, que � o identificador.
	     */
	    @DatabaseField(id=true)
	    private int id;

	    /**
	     * Vari�vel que representa a denomina��o do bem.
	     */
	    @DatabaseField
	    private String denominacao;

	    /**
	     * Vari�vel que representa o status do bem, representado pelo projeto SIPAC
	     */
	    @DatabaseField
	    private int status;

	    /**
	     * Vari�vel que representa o n�mero de tombamento do bem.
	     */
	    @DatabaseField
	    private int numTombamento;

	    /**
	     * Vari�vel que representa a localidade que o bem est� situado
	     */
	    @DatabaseField(columnName="id_local", foreign=true)
	    private Localidade local;

	    /**
	     * Vari�vel que representa a unidade que o bem est� situado.
	     */
	    @DatabaseField(columnName="id_unidade", foreign=true)
	    private Unidade unidade;

	    public Localidade getLocal() {
	        return local;
	    }

	    public void setLocal(Localidade local) {
	        this.local = local;
	    }

	    

	    public Unidade getUnidade() {
	        return unidade;
	    }

	    public void setUnidade(Unidade unidade) {
	        this.unidade = unidade;
	    }

	    


	    public String getDenominacao() {
	        return denominacao;
	    }

	    public void setDenominacao(String denominacao) {
	        this.denominacao = denominacao;
	    }



	    public int getNumTombamento() {
	        return numTombamento;
	    }

	    public void setNumTombamento(int numTombamento) {
	        this.numTombamento = numTombamento;
	    }

	    public int getStatus() {
	        return status;
	    }

	    public void setStatus(int status) {
	        this.status = status;
	    }

	    public boolean equals(Object obj) {
	        
	        if (obj == null) {
	            return false;
	        }
	        if (getClass() != obj.getClass()) {
	            return false;
	        }
	        final Bem other = (Bem) obj;
	       
	        if (this.getNumTombamento() != other.getNumTombamento()) {
	            return false;
	        }
	        return true;
	    }

	    public int hashCode() {
	        int hash = 3;
	        return hash;
	    }


	    

	    public boolean validate() {
	        if (this.id == 0 || this.getNumTombamento() == 0) {
	            return false;
	        }
	        else {
	            return true;
	        }
	    }

	    public int getId() {
	        return this.id;
	    }

	    public void setId(int id)  {
	        this.id = id;
	    }
}
